<?php

namespace app\common\model;

use think\Model;

class AppIndex extends Model
{
    // 表名
    protected $name = 'app_index';
    
    // 自动写入时间戳字段
    protected $autoWriteTimestamp = false;

    // 定义时间戳字段名
    protected $createTime = false;
    protected $updateTime = false;
    
    // 追加属性
    protected $append = [
        'position_text',
        'login_text',
        'begin_time_text',
        'end_time_text'
    ];
    

    const POSITION_BANNER = 1;
    const POSITION_CATE = 2;
	const POSITION_REC_CATE = 3;
    
    public function getPositionList()
    {
        return [
        	self::POSITION_BANNER => '首页轮播图',
	        self::POSITION_CATE => '首页分类',
	        self::POSITION_REC_CATE => '首页推荐区块'
        ];
    }     

    const LOGIN_Y = 1;
    const LOGIN_N = 0;
    public function getLoginList()
    {
        return [self::LOGIN_Y => '需要登录', self::LOGIN_N => '不需要登录'];
    }     


    public function getPositionTextAttr($value, $data)
    {        
        $value = $value ? $value : $data['position'];
        $list = $this->getPositionList();
        return isset($list[$value]) ? $list[$value] : '';
    }


    public function getLoginTextAttr($value, $data)
    {        
        $value = $value ? $value : $data['login'];
        $list = $this->getLoginList();
        return isset($list[$value]) ? $list[$value] : '';
    }


    public function getBeginTimeTextAttr($value, $data)
    {
        $value = $value ? $value : $data['begin_time'];
        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }


    public function getEndTimeTextAttr($value, $data)
    {
        $value = $value ? $value : $data['end_time'];
        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }

    protected function setBeginTimeAttr($value)
    {
        return $value && !is_numeric($value) ? strtotime($value) : $value;
    }

    protected function setEndTimeAttr($value)
    {
        return $value && !is_numeric($value) ? strtotime($value) : $value;
    }
	
	
	public function adposition(){
		return $this->belongsTo('AdPosition', 'position', 'id', '', 'left')->setEagerlyType(0);
	}
	
	public function cname(){
		return $this->belongsTo('appClass', 'app_class_id', 'id', '', 'left')->setEagerlyType(0);
	}
}
